
// for (var i = 1; i <= 100; i++) {
//     console.log(i);
// }


// NodeJS 也是可以使用模块化语法的

// 模块化  => 将一个大的项目 拆成相互依赖的小文件

// 优点:
// 1. 每一个js文件都是一个独立的模块 (模块中的变量和方法都是局部的)
// 2. 按需暴露 按需引入
// 3. 模块之间也是可以相互引入的
// 4. 减少全局变量的使用 

// ES6 Module  => ES6模块化   =>  在编译阶段执行
// export  import


// CommonJS    => NodeJS中的模块化   => 在载入阶段执行
// (node中可以使用ES6模块化-> 需要配置)

console.log("模块1被引入");

var a = 10;
function addA(){
    a++;
    return a;
}

function reduceA(){
    a--;
    return a;
}

function doubleA(){
    a*=2;
    return a;
}

function getA(){
    return a;
}

function setA(val){
    a = val;
    return a;
}

//  每一个js文件都是一个独立的模块 => 模块中都有一个module对象 
// module.exports = {}  module.export对象数据用于按需暴露模块中的变量和方法

// 单个暴露 =>  给module.exports = {} 新增属性   => 麻烦
module.exports.a = a;
module.exports.addA = addA;
module.exports.reduceA = reduceA;
module.exports.doubleA = doubleA;
module.exports.getA = getA;
module.exports.setA = setA;

// console.log(module);






